//
//  BBFilterConfigController.h
//  BBTouch
//
//  Created by ben smith on 28/09/08.
//  This file is part of BBTouch.
//
//  BBTouch is free software: you can redistribute it and/or modify
//  it under the terms of the GNU Lesser General Public License as published by
//  the Free Software Foundation, either version 3 of the License, or
//  (at your option) any later version.

//  BBTouch is distributed in the hope that it will be useful,
//  but WITHOUT ANY WARRANTY; without even the implied warranty of
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//  GNU Lesser General Public License for more details.

//  You should have received a copy of the GNU Lesser General Public License
//  along with BBTouch.  If not, see <http://www.gnu.org/licenses/>.
// 
//  Copyright 2008 Ben Britten Smith ben@benbritten.com .
//

#import <Cocoa/Cocoa.h>
#import <OpenCV/OpenCV.h>

@interface BBFilterConfigController : NSObject {
	IBOutlet NSWindow * myWindow;
	
	IBOutlet NSImageView * sourceView;
	IBOutlet NSImageView * bgView;
	IBOutlet NSImageView * bgSubtractionView;
	IBOutlet NSImageView * highPassView;
	IBOutlet NSImageView * noiseView;
	IBOutlet NSImageView * thresholdView;
	
	NSImage* bgStorage;
	
	IplImage* srcIpl;//
	IplImage* bgIpl;//
	
	IplImage* bgsubIpl;//
	IplImage* hpassIpl;
	IplImage* bufferIpl;
	IplImage* finalIpl;
}

@property (copy) 	NSImage* bgStorage;

+ (BBFilterConfigController*)sharedFilterConfigController;
- (IBAction)closeWindow:(id)sender;;
- (IBAction)openWindow:(id)sender;
- (NSBitmapImageRep*)emptyBitmapRep;
- (void)awakeFromNib;
- (void)higpassFilter;
- (void)imageUpdate:(NSNotification*)note;
- (void)noiseFilter;
- (void)setBackgroundImage:(NSImage*)anImage;
- (void)startListening;
- (void)stopListening;
- (void)subtractBackground;
- (void)threshold;
- (void)windowWillClose:(NSNotification *)notification;

// 14 methods

@end
